package com.atguigu.gmall.task.task1;

import com.atguigu.gmall.mq.constants.MqConst;
import com.atguigu.gmall.mq.service.RabbitService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * 定时器 任务实现类
 */
@Component
@EnableScheduling //开启定时器任务注解
@Slf4j
public class ScheduledTask {


    @Autowired
    private RabbitService rabbitService;

    //执行任务： 半夜 0点 1点（* * 1 * * ? ） 2点* * 2 * * ?
    //cron 时间表达式   定时
    //@Scheduled(cron = "* * 0 * * ?")
    //每 5秒执行一次
    //@Scheduled(cron = "0/5 * * * * ?")
    public void task1(){
        System.out.println("执行任务：" + new Date());//闹铃  压入当前秒杀商品
        rabbitService.sendMessage(MqConst.EXCHANGE_DIRECT_TASK,MqConst.ROUTING_TASK_1,"");
    }
    //清理当天秒杀商品   * * 20 * * ? 晚上8点   23晚上11点
    //@Scheduled(cron = "* * 23 * * ? ")
    @Scheduled(cron = "0/5 * * * * ?")
    public void task2(){
        System.out.println("执行任务：" + new Date());//清理当前秒杀商品
        rabbitService.sendMessage(MqConst.EXCHANGE_DIRECT_TASK,MqConst.ROUTING_TASK_23,"");
    }
}
